/*
  函数允许在 SassScript 值上定义复杂的操作。
  @function <name> (<arguments...>) {...}
*/
// 斐波那契函数定义
@function fibonacci($n) {
  $sequence: 0 1;  // 初始化数列：索引0=0，索引1=1
  
  // 循环生成数列，从第3个元素开始计算（索引2）
  @for $_ from 1 through $n {
    // 计算新值：最后两个元素之和
    $new: nth($sequence, length($sequence)) + nth($sequence, length($sequence) - 1);
    
    // 将新值追加到数列
    $sequence: append($sequence, $new);
  }

  // 返回数列最后一个元素
  @return nth($sequence, length($sequence));
}

// 实际应用示例
.sidebar {
  float: left;
  margin-left: fibonacci(4) * 1px; // 调用函数计算结果：5px
}

// 可选参数、关键字参数、任意参数、任意关键字参数的语法同 mixin 一致